A software engine may generate a website to be rendered by an Internet browser application by combining data from difference source files, such as a template file and data from a data source. For example, a template file may define the layout and the visual appearance of the pages of the website, such as the layout for each page in an online book-purchasing website. Template files may also include references to data sources, such as databases, that include data for populating each web page, such as a database of books to be sold via the website. A software engine executed at a web server or other computing system may dynamically generate one or more output files, such as hypertext markup language (“HTML”) files, that include the template along with data retrieved from the data source.
Prior solutions for creating a website require multiple steps. For example, a graphics designer creates an image representing a layout and/or style for the website. An interactive designer then converts the image into one or more HTML files. A web developer then uses a template to frame all of the separate web pages within a website. Framing a website may include maintaining a consistent header, footer and overall appearance for each page of the website.
A deficiency of this process is that modifying some aspect of the website in an earlier step in the process, such as modifying an image used to provide the layout of a website, requires corresponding modifications in one or more of the subsequent steps, such as converting the image to HTML and framing the web pages of the website. Thus, prior solutions for modifying the layout or content of a website, such as changing the style of a website after the interactive designer has converted the image into one or more HTML files, involve inefficiencies in workflow. Another deficiency is that such prior solutions may require creative professionals, such as graphic designers, to be knowledgeable regarding web development tools such as HTML and cascading style sheets (“CSS”). In addition, prior solutions for in-context website development tools do not allow a designer to modify source code for templates files by modifying a rendered web page.